a45588334b2cb0cf02ea0079516065c19ff9c899,samigo/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/author/ItemAddListener.java,ItemAddListener,getFIBanswers,#String#,1969

Before Change


			  if (i == 0) {
				  String[] firstpart = tokens[i].split("\\{");
				  if (firstpart.length>1) {
					  list.add(firstpart[1]);
				  }
			  }
			  else if (i == (tokens.length - 1)) {
				  String[] lastpart = tokens[i].split("\\}");
				  list.add(lastpart[0]);
			  }
			  else {
				  list.add(tokens[i]);
			  }
		  }
	  } // token.length>1

After Change


  private static ArrayList getFIBanswers(String entiretext) {
	  String fixedText = entiretext.replaceAll(" ", " "); // replace   to " " (instead of "") just want to reserve the original input
	  String[] tokens = fixedText.split("[\\}][^\\{]*[\\{]");
	  ArrayList list = new ArrayList();
	  if (tokens.length==1) {
		  String[] afteropen= tokens[0].split("\\{");
		  if (afteropen.length>1) {
			  //	 must have text in between {}
			  String[] lastpart = afteropen[1].split("\\}");
			  String answer = FormattedText.convertFormattedTextToPlaintext(lastpart[0].replaceAll("<.*?>", ""));
			  list.add(answer);
		  }
	  }
	  else {
		  for (int i = 0; i < tokens.length; i++) {
			  if (i == 0) {
				  String[] firstpart = tokens[i].split("\\{");
				  if (firstpart.length>1) {
					  String answer = FormattedText.convertFormattedTextToPlaintext(firstpart[1].replaceAll("<.*?>", ""));
					  list.add(answer);
				  }
			  }
			  else if (i == (tokens.length - 1)) {
				  String[] lastpart = tokens[i].split("\\}");
				  String answer = FormattedText.convertFormattedTextToPlaintext(lastpart[0].replaceAll("<.*?>", ""));
				  list.add(answer);
			  }
			  else {
				  String answer = FormattedText.convertFormattedTextToPlaintext(tokens[i].replaceAll("<.*?>", ""));
				  list.add(answer);
			  }
		  }
	  } // token.length>1